\section{引言}\label{introduction}

\subsection{研究背景及意义}

% 吹水价值

随着数字化进程的不断推进，数字孪生、AR、自动驾驶等应用的需求增加，如何快速高效地获取场景的精准空间信息成为了一个热门话题。
而在各类空间场景中，室内场景是人类生活的主要场景之一，
将室内场景进行精确细致的建模可以最直接地提高我们生活的数字化程度，这里所说的室内场景的范畴从某片区域到某个房间甚至到某一整栋房屋。
精确的室内信息可以为室内导航\cite[]{isikdag2013bim}、应急管理\cite[]{ahmed2015indoor}、建筑维护和博物馆文物数字化\cite{aaa}\cite[]{chen2019bim}等一系列室内服务提供帮助。
三维重建得到的模型可以为这些任务提供丰富的空间位置关系、语义标签等信息。
因此，精确的室内场景的空间信息表达的重要性在这样的背景下越发明显。


全景相机是一种成像视角可以覆盖整个球面或者至少可以覆盖水平面上环形视野的相机，全景相机的实现形式有很多种，包括两个相对的鱼眼镜头与配备30多个独立镜头的方案。近年来，全景相机硬件在快速发展，越来越多的消费级全景相机开始普及。
全景相机可以应用于机器人上当作视觉里程计，也可以应用到无人机上，或者用于直播。全景相机较大的视野使得其具有很好的应用价值。

在三维重建方面，全景图具备了视角丰富，信息量大的优势。三维重建的质量随着视角的增多、图片质量的提升而提高，一张全景图可以分解成多个视点，这使得其相比于传统相机可以提供更丰富的信息。
另一方面，全景图相比于透视图本身隐含了空间信息，有2.5D之称。这些都使得全景图在进行重建时具备优势。有很多研究者使用全景图恢复室内的表面结构(Layout Reconstruction)，
然而使用全景图进行三维重建的工作并不是很多，这也是本文希望进行解决的问题。

人工智能技术是目前在中国推动计算机和科学技术发展中的一个主要技术分支,通过基于深度学习技术的人工智能技术使过去许多计算机领域的设想得以变成了现实,
例如无人机、无人辅助驾驶、人脸识别等都是脍炙人口的人工智能应用成果。深度学习已经成为未来人工智能领域的关键核心技术,其和三维点云重建等技术成果相结合也有望产生不同凡响的效应。

首先，深度学习可以为传统算法的优化提供新的思路。比如，获得了CVPR 2018年的best paper提名奖的Code SLAM\cite[]{bloesch2018codeslam}提出利用神经网络框架，
    并结合图像几何信息来实现单目相机的稠密SLAM。
    这项工作的主要贡献在于使用了深度学习方法从单张图像中用神经网络提取出若干个基函数来表示场景的深度，这些基函数表示可以极大简化传统几何方法中的优化问题。
    显然，深度学习方法的引入可以给传统方法的性能提升提供新的思路。

其次，深度学习通过深层的网络结构，可以容纳大量的信息，在某些场景可以表现出色。传统算法往往凭借现有的知识、经验进行设计，当环境变得复杂的时候，传统算法难以通过经验、知识进行覆盖，这导致其鲁棒性下降。
    在这样的场景中，深度学习往往具有天然优势，可以通过大量的训练、拟合实现对未知、复杂场景的预测，从而取得较好的效果。


随着深度学习在计算机视觉方面的突出表现，越来越多的传统计算机视觉问题都有希望借助深度学习进行优化。在深度学习的帮助下阻碍室内三维重建的弱纹理问题有希望得到解决。
在三维重建领域，研究者尝试使用深度学习对传统算法的各个模块进行取代，或者使用深度学习构建端到端的网络，一些深度学习算法达到了传统算法的精度，甚至在某些场景下超越了传统算法\cite[]{yao2018mvsnet}\cite[]{wang2021patchmatchnet}\cite[]{chen2019point}\cite[]{gu2020cascade}\cite[]{yao2019recurrent}。
        

\subsection{研究现状}

\subsubsection{三维重建发展现状}
三维重建从传感器上进行划分可以分为基于激光雷达的重建\cite[]{wang2018semantic}、基于结构光的重建、基于视觉传感器（单目相机\cite[]{zhang2015single}、双目相机\cite[]{engel2015large}、全景相机\cite[]{yang2014modeling}）的重建，这几类方法的对比如表\ref{tb:compare_device}。
结构光、激光雷达的重建精度高，速度快，但也存在一些缺点。结构光技术要求场景亮度较低，而激光雷达对于大型场景的建模仍然存在瓶颈，二者成本较高。
而视觉三维重建相比于其他三维重建方案具有信息丰富、成本低廉的优势，如果能提高精度与速度将会是是产业化的理想方案。根据实际情况选择正确的传感器可以提高重建效果。

\begin{table}[h] \xiaowu %h表示三线表在当前位置插入
    \renewcommand{\arraystretch}{1.5}
    \setlength{\tabcolsep}{10pt} % Default value: 6pt
    \setlength{\abovecaptionskip}{0.05cm} %设置三线表标题与第一条线间距
    \centering
    \caption{各类三维重建方法比较} 
    %表头文本加黑，但不加黑Table 1.字样，引入包即可：\usepackage[labelfont=bf]{caption}
    % \arrayrulecolor{black} %设置三线表线条颜色：黑色
    \begin{tabular}{cccccc}
        \toprule
        方法 & 类型 & 精度& 速度&缺陷 &优势\\
        \midrule
        激光雷达 & 主动式 & \makecell*[c]{高\\（微米级）}& 快&\makecell*[c]{要求物体较近，\\场景过大效果受到影响\\成本较高}&精度高,速度快\\
        结构光 & 主动式 & \makecell*[c]{较高\\（毫米级）} & 快&  \makecell*[c]{对光照条件要求严格，\\光照强则会影响效果。\\同时要求重建物体较近。\\成本高}&精度高,速度快\\
        单目相机 & 被动型 & 一般 & 较慢 &  初始化存在困难&成本低,容易获得\\
        双目相机 & 被动型 & 较高 & 较慢 & \makecell*[c]{价格相对单目相机贵\\相机需要标定}&\makecell*[c]{基线固定且已知\\不需要复杂的初始化}\\
        全景相机 & 被动型 & 较高 & 较慢&  图像存在畸变&视角丰富,信息丰富\\
        \bottomrule
     \end{tabular}\label{tb:compare_device}
\end{table}


基于视觉的三维重建相关领域的主要方法包括基于计算机视觉和摄影几何的传统方法、一系列启发式传播策略方法，以及近几年提出的基于深度学习的深度估计和三维重建方法。基于计算机视觉的传统算法一般是由运动恢复结构(Structure From Motion,SFM)和多视图立体几何(Multi-View Stereo,MVS)组成。三维重建的输入为一组无序图像。通常要求图像的拍摄满足尽可能多的视角、恰当的基线、稳定的拍摄环境等条件。在重建过程中，先后得到相机的位姿与场景的空间结构。
在传统算法中最具代表性的是Colmap\cite[]{schonberger2016structure}\cite[]{schops2017multi},其具有较好的精度并且代码封装非常好，适合用于研究。
然而传统算法在弱纹理、非朗博面等较差的环境下表现不佳。


\subsubsection{深度学习发展现状}

对于基于深度学习的三维重建算法，直接从二维影像推测三维形状并不容易，
但对人类来说，对于生活中常见到的物体，可以从单一角度看，就可以推测经验上物体的整个形状(在三维空间中的样子)，
人类之所以能做到这样是因为长久经验的累积，这一过程和深度学习的原理相契合。因此对于计算机而言，如果学习过足够多二维影像以及三维形状的信息，
理论上也能够做到，因此近来有不少端到端深度学习的三维重建方法，利用大量的训练资料(例如:影像以及相对应的三维形状)来训练深度神经网络或是卷积神经网络建构的模型，达到由单张或多张二维影像作为输入，推测三维形状。
这些基于深度学习的三维重建算法参考了传统重建算法的思路。在这些方法中，使用深度学习对匹配代价体进行回归的MVSNet\cite[]{yao2018mvsnet}取得了非常好的效果，引发了一系列相关的研究\cite[]{chen2019point}\cite[]{gu2020cascade}\cite[]{yao2019recurrent}。
类似地，通过深度学习对Patchmatch进行优化的PatchmatchNet\cite[]{wang2021patchmatchnet}算法也取得了很好的效果，并且引发了一系列相关研究。这些方法达到了传统算法的精度，在传统算法难以胜任的场景中表现出
更好的性能。然而这类算法依赖场景真值，即深度值。这使得更大数据量的训练变得困难。


\subsection{挑战与目标} 
本节将分析室内三维重建所面临的困难与挑战，以引出本文的主要研究内容。

\subsubsection{室内三维重建面临的问题与挑战}
% // TODO: 啊啊啊啊啊  我靠  凑不出字数阿！！！！ 明天抄一抄
室内场景下三维重建主要的挑战在于以下几点：

\begin{enumerate}[leftmargin=4em]
    \item 相比于室外场景，室内场景的结构更加细致复杂，建筑物表面纹理更弱，存在各种非朗博面的结构。这需要相机以各种不同的视角进行拍摄以更多的获取场景的细节。即使如此，面对纹理缺失的场景时帧间匹配算法也会因为没有足够的特征匹配点而失效，这使得室内三维重建很难达到高精度与高鲁棒的效果\cite{bbb}\cite[]{naseer2018indoor}。
    \item 由于缺乏视图覆盖，使得在数据收集过程中很难获取关于墙壁、地板和其他感兴趣的结构的数据，从而导致重建结果不佳\cite[]{li2015database}。
    \item 在室内空间恢复内部的结构和拓扑关系（包括连通性、邻接性）时往往也会遇到困难。
    \item 除此之外，传感器的噪声和异常值、室内场景光照、视野的变换使得室内重建充满挑战性。
\end{enumerate}



\subsubsection{本文研究内容}
% // TODO 研究内容 
针对室内场景三维重建弱纹理的问题、视角覆盖要求高的问题，本文参考前人的工作，以colmap的数据格式作为媒介希望能够设一个模块化的三维重建工具箱，并最终应用到实际的室内三维重建中。

本文主要希望解决以下两个问题：

\begin{enumerate}
    \item 由于普通相机拍摄视角有限，较好的覆盖关系往往需要通过多次拍摄获得。本文希望通过全景相机，获取更多的特定视角，尽可能提取全景图片中丰富的信息。
    \item 由于室内场景弱纹理的特点，传统基于局部像素特征的提取匹配算法效果不佳，本文希望利用深度学习特征点提取匹配算法尽可能提取弱纹理区域中的信息，并且将局部与整体尽可能考虑进去，
    将深度学习特征点提取与匹配算法与Colmap结合，提高重建的精度与丰富度。
\end{enumerate}

本文在实现重建系统的基础上同时会进行对比试验，论证本文方法相比于传统方法的优势与存在的缺点。总结后续的工作方向。

本文代码已经开源在gitee(\href{https://gitee.com/DDV\_Want\_To\_Sleep/edretoolbox.git}{https://gitee.com/DDV\_Want\_To\_Sleep/edretoolbox.git})。

\subsection{论文结构}

% 
第1章 \textbf{引言：} 介绍室内三维重建的研究意义与背景、全景图对三维重建的意义、深度学习在三维重建中的价值。简述了三维重建目前的研究现状。最后阐述了本文研究内容所要解决的主要问题。

第2章 \textbf{三维重建理论基础：} 介绍了三维重建的基础理论，主要包括了相机坐标系的设定、对极几何、单应变换等。也介绍了本文使用到的深度学习知识。

第3章 \textbf{基于深度学习特征提取匹配的全景三维重建：} 介绍了本文三维重建的具体流程。

第4章 \textbf{实验结果与比较：} 展示了重建算法的实验结果，并与Colmap算法、MVSNet算法进行了比较。分析了本文算法的优势与缺点。

第5章 \textbf{总结与展望：} 对本文工作进行了总结与分析，给出改进的方向。